package com.example.demo.controller;


import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.example.demo.common.ApiMesResult;
import com.example.demo.common.NewResult;
import com.example.demo.entity.ApiMesReq;
import com.example.demo.entity.BzxNewPackaging;
import com.example.demo.mapper.BzxNewPackagingMapper;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Api( description  = "→BPM")
@RestController
@RequestMapping("/api/MES")
public class ApiMesController {
    @Resource
    BzxNewPackagingMapper bzxNewPackagingMapper;
    @PostMapping("/GetSOInfoByPartSN")
    public String GetSOInfoByPartSN(@RequestBody ApiMesReq apiMesReq) {
//        apiMesReq.getPartSN();
        QueryWrapper<BzxNewPackaging> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("减速机成品序列号", apiMesReq.getPartSN());
//        Packaging packaging1 = packagingNewMapper.selectOne(queryWrapper);
//        System.out.println(apiMesReq.toString());
        List<Map<String, Object>> maps = bzxNewPackagingMapper.selectMaps(queryWrapper);
        Map<String, Object> map = maps.get(0);
        Map<String, Object> newmap = new HashMap<>();
        newmap.put("SONum",map.get("SaleOrderNo"));
        newmap.put("SOLine",map.get("销售订单行号"));
        newmap.put("PartSN",map.get("SNNO"));
        newmap.put("PartNum","整机编码");
        newmap.put("PartName",map.get("物料名称"));
        newmap.put("PartSpec",map.get("Specification"));
        newmap.put("PartDesc","整机描述");
        newmap.put("CustCode",map.get("客户代码"));
        newmap.put("CustName",map.get("客户名称"));
        newmap.put("BMCode",map.get("业务经理代码"));
        newmap.put("BMName",map.get("业务经理名称"));
        newmap.put("BMArea",map.get("业务经理所属区域"));
//        System.out.println(map.keySet());
//        map.remove("Specification");
//        map.remove("Oil");
//        map.remove("SpeedRatio");
//        map.remove("CheckDate");

//       map.keySet().removeIf(key -> key!= "SNNO");
        return ApiMesResult.success(newmap);
//        if (maps.size() == 0){
//            if (packaging.get写入请求次数() == null){
//                packaging.set写入请求次数(1);
//            }else{
//                packaging.set写入请求次数(packaging.get写入请求次数()+1);
//            }
//            packagingNewMapper.insert(packaging);
//        }else{
////            int i = (int) maps.get(0).get("写入请求次数");
//            packaging.set写入请求次数((int) maps.get(0).get("写入请求次数")+1);
//            packagingNewMapper.update(packaging,queryWrapper);
//        }
//        packaging.set写入请求次数((int) maps.get(0).get("写入请求次数")+1);
//            packagingNewMapper.update(packaging,queryWrapper);
//        System.out.println((int) maps.get(0).get("写入请求次数"));
//        if (packaging.get写入请求次数() == null){
//            packaging.set写入请求次数(1);
//        }else{
//            packaging.set写入请求次数(packaging.get写入请求次数()+1);
//        }
//        packagingNewMapper.insert(packaging);
//        return Result.success();
    }
}
